package com.evaluation.kexingcp.psycho.evaluation.sys.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.evaluation.kexingcp.admin.api.entity.SysUser;
import com.evaluation.kexingcp.common.core.util.TenantTable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 预警跟进
 *
 * @author kexingcp
 * @date 2024-10-16 10:21:06
 */
@TenantTable
@TableName("evaluation_warning_follow")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "预警跟进")
public class EvaluationWarningFollowEntity extends Model<EvaluationWarningFollowEntity> {

	/**
	* 主键
	*/
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description="主键")
    private Long id;

	/**
	* 跟进原因
	*/
    @Schema(description="跟进原因")
    private String inquiryReason;

	/**
	* 跟进主题
	*/
    @Schema(description="跟进主题")
    private String inquiryTheme;

	/**
	* 父节点
	*/
    @Schema(description="父节点")
    private Long pid;

	/**
	* 创建人
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建人")
    private String createBy;

	/**
	* 创建时间
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建时间")
    private LocalDateTime createTime;

	/**
	* 修改人
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="修改人")
    private String updateBy;

	/**
	* 修改时间
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="修改时间")
    private LocalDateTime updateTime;

	/**
	* 删除标记
	*/
    @TableLogic
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="删除标记")
    private String delFlag;

	/**
	* 租户ID
	*/
    @Schema(description="租户ID")
    private Long tenantId;

	@TableField(exist = false)
	private List<EvaluationWarningFollowEntity> records;

	@TableField(exist = false)
	private SysUser user;

	@Schema(description="是否完结")
	private Boolean completed;

	@Schema(description="用户ID")
	private Long userId;

	@Schema(description="任务ID")
	private Long taskId;

	@Schema(description="量表ID")
	private Long scaleId;

	@TableField(exist = false)
	private Long manualReviewId;

	@TableField(exist = false)
	private EvaluationScaleEntity scale;

	@TableField(exist = false)
	private EvaluationTaskEntity task;

	@Schema(description = "预警来源")
	private String warningSource;

	@TableField(exist = false)
	private String username;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getWarningSource() {
		return warningSource;
	}

	public void setWarningSource(String warningSource) {
		this.warningSource = warningSource;
	}

	public EvaluationTaskEntity getTask() {
		return task;
	}

	public void setTask(EvaluationTaskEntity task) {
		this.task = task;
	}

	public EvaluationScaleEntity getScale() {
		return scale;
	}

	public void setScale(EvaluationScaleEntity scale) {
		this.scale = scale;
	}

	public Long getTaskId() {
		return taskId;
	}

	public void setTaskId(Long taskId) {
		this.taskId = taskId;
	}

	public Long getScaleId() {
		return scaleId;
	}

	public void setScaleId(Long scaleId) {
		this.scaleId = scaleId;
	}

	public Long getManualReviewId() {
		return manualReviewId;
	}

	public void setManualReviewId(Long manualReviewId) {
		this.manualReviewId = manualReviewId;
	}

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public List<EvaluationWarningFollowEntity> getRecords() {
		return records;
	}

	public void setRecords(List<EvaluationWarningFollowEntity> records) {
		this.records = records;
	}

	public SysUser getUser() {
		return user;
	}

	public void setUser(SysUser user) {
		this.user = user;
	}

	public Boolean getCompleted() {
		return completed;
	}

	public void setCompleted(Boolean completed) {
		this.completed = completed;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getInquiryReason() {
		return inquiryReason;
	}

	public void setInquiryReason(String inquiryReason) {
		this.inquiryReason = inquiryReason;
	}

	public String getInquiryTheme() {
		return inquiryTheme;
	}

	public void setInquiryTheme(String inquiryTheme) {
		this.inquiryTheme = inquiryTheme;
	}

	public Long getPid() {
		return pid;
	}

	public void setPid(Long pid) {
		this.pid = pid;
	}

	public String getCreateBy() {
		return createBy;
	}

	public void setCreateBy(String createBy) {
		this.createBy = createBy;
	}

	public LocalDateTime getCreateTime() {
		return createTime;
	}

	public void setCreateTime(LocalDateTime createTime) {
		this.createTime = createTime;
	}

	public String getUpdateBy() {
		return updateBy;
	}

	public void setUpdateBy(String updateBy) {
		this.updateBy = updateBy;
	}

	public LocalDateTime getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(LocalDateTime updateTime) {
		this.updateTime = updateTime;
	}

	public String getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	public Long getTenantId() {
		return tenantId;
	}

	public void setTenantId(Long tenantId) {
		this.tenantId = tenantId;
	}
}